home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
os2
/
adaptor.zip
/
ADAPT.ZIP
/
adaptor
/
examples
/
laplace
/
overlap.f
< prev
next >
Wrap
Text File
|
1993-06-25
|
990b
|
37 lines
PROGRAM LAPLACE
REAL F(:,:), DF(:,:), HF(:,:[1:1])
INTEGER MAXX, MAXY
REAL FMAX
INTEGER ITER
c
c read in sizes
c
PRINT *,'MAXX = (z.B. 64) '
READ *,MAXX
PRINT *,'MAXY = (z.B. 64) '
READ *,MAXY
ALLOCATE (F(MAXX,MAXY),DF(MAXX,MAXY),HF(MAXX,MAXY))
C
F = 2.
F(:,MAXY) = 1.
F(2:MAXX-1,2:MAXY-1) = 0.0
ITER = 0
FMAX = 1
DO WHILE (FMAX .gt. 0.001)
ITER = ITER + 1
HF = F ! makes boundaries of F local
FORALL (J=2:MAXY-1,I=2:MAXX-1)
DF(I,J) = (HF(I,J+1) + HF(I,J-1) +
& HF(I-1,J) + HF(I+1,J) ) * 0.25 - F(I,J)
END FORALL
FORALL (J=2:MAXY-1,I=2:MAXX-1)
F(I,J) = F(I,J) + DF(I,J)
END FORALL
DF = ABS(DF)
FMAX = MAXVAL (DF)
PRINT *,'Iteration ',ITER,' Max = ',FMAX
END DO
PRINT *, ITER, ' Iterationen benoetigt'
DEALLOCATE (HF, DF, F)
END